package com.sky.annotation;

import com.sky.enumeration.OperationType;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 自定义注解，用于标识某个方法需要进行功能字段自动填充处理
 */
@Target(ElementType.METHOD)       //@Target就是用来指定当前的注解,会加在什么位置,ElementType.METHOD是指只能加在方法上
@Retention(RetentionPolicy.RUNTIME)     //这个注解就是一些固定的写法，可以理解为保留时间(生命周期)
public @interface AutoFill {
    //指定属性，就是指定我们当前这个数据库的操作的类型。可以通过枚举来指定，但我们的枚举已经定义好了，在sky-common下的OperationType
    //数据库操作类型：UPDATE INSERT
    OperationType value();      //使用@Retention必须要为value指定成员变量的值，该成员变量为一个容器注解，这个容器注解包含多个OperationType
}
